Run AgentをWindowsサービスとして構成(DAI Run Agent)
Microsoft Windowsマシンでは、DAI Run Agent("Run Agent")をサービスとして実行できます。サービスとして実行すると、ユーザーがマシンにログオンおよびログオフしても、Run Agentをバックグラウンドで継続して実行できます。マシンに十分なメモリと処理能力がある場合、同じマシンで複数のRun Agentサービスを実行することもできます。
DAI Run Agentに関する情報については、実行環境とエージェントについてを参照してください。DAIがサポートするWindowsオペレーティングシステムに関する情報については、前提条件ページを参照してください。
Run AgentをWindowsサービスとして構成するオプションは、DAIバージョン7.2以降 で利用可能です。
Windowsサービスマネージャーを使用してRun Agentを管理する方法
サービスを作成した後は、Windows サービスマネージャー(以下に示す)を使用するか、コマンドラインインターフェース(CLI)でRun Agentコマンド(eggplantDAIRunAgent.exe)を使用して管理できます。Run Agentコマンドを使用してサービスの作成、開始、停止、削除に関する情報は、以下に提供されています。
Windowsサービスマネージャーは、各サービスに関する名前、説明、状態、起動タイプ、ログオン情報をリストします。また、サービスを開始、停止、およびサービスがどのように起動するか(自動または手動)を構成するオプションも提供します。また、同じマシンでRun AgentとDAI Serverをサービスとして実行する場合は、DAI Serverサービスの起動に依存するようにサービスの起動を設定するオプションも提供されます。Windowsサービスの操作の詳細については、Windowsサービスアプリケーションの概要を参照してください。
Windows Services Managerを開くには:
-
Windowsマシンで、タスクバーの「ここに入力して検索」フィールドに services と入力します。Servicesアプリが提案されるはずです。
-
提案された Services アプリをクリックします。下に示す Windows Services Manager が開きます。
ユーザーアカウントとWindowsサービス
Windowsサービスの作成および実行に関連付けられた2つのタイプのユーザーアカウントがあります:
- Windowsマシンにログオンし、サービスを作成および管理するために使用する
Administrator
権限を持つWindowsユーザーアカウント。管理者権限を持つユーザーアカウントでも、コマンド(CMD)シェルを「管理者として実行」する必要がある場合があります。 - 上記で説明したように、作成された後にRun Agentサービスを実行する
Local System
アカウント。Windowsサービスアカウントに関する詳細については、この記事を参照してください。
Run AgentのWindowsサービスを作成する
Run Agentは、コマンドライン(CLI)でRun Agentサービスをインストールするためのコマンドを提供します。Run Agentコマンド(eggplantDAIRunAgent.exe
)を--win-service install
引数と他のエージェント実行設定の引数とともに使用して、Windowsサービスを作成します。以下は、デフォルトでRun Agentインストールサービスコマンドによって作成されるサービスの設定です:
- 名前:もし他の名前がインストールコマンドで指定されていない場合は、上記に示されているように
DAI Run Agent
- 起動タイプ:ホストマシンが再起動するたびに自動的にサービスが起動するように、Automaticに設定します。
- Log On As: サービスを実行するユーザーアカウントは
Local System
です。
サービスが作成されると、WindowsサービスマネージャーまたはCLIでのRun Agentコマンドを使用して管理できます。
ステップバイステップ:Run Agentサービスのインストール
- Run Agentをサービスとして実行するWindowsマシンに、そのマシンで管理者権限を持つユーザーでログオンします。
- エージェントのインストールに記載されているように、DAI Run Agentをインストールします。
- エージェントが実行される設定を決定し、その設定に必要な引数を使用してRun Agentコマンドを作成します。Run Agentサービスコマンドのオプションに関する情報は、Run Agent Install Service Argumentsを参照してください。Run Agentの実行設定と引数に関する情報は、コマンドラインモードでエージェントを実行するを参照してください。
- Windowsマシンで検索バーに cmd と入力して、コマンドプロンプトアプリ(CMD)が提案されたら、右クリックして「管理者として実行」を選択してコマンドシェルを起動します。CMDアプリがコマンドプロンプトで開きます。
- 作成した引数を使用して(上記のステップ1で作成)、コマンドプロンプトにRun Agentコマンドを入力し、Enter キーを押します。たとえば:
"C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe" --win-service install --service-name "DAI Agent Service 1" --service-desc "This is a test service"
上記のコマンドは、説明が「これはテストサービスです」となっている "DAI Agent Service 1" という名前のWindowsサービスを作成します。さらなる例については、以下の(#run-agent-service-install-command-examples) を参照してください。
Run Agentサービスの実行オプション
Run Agentサービスを作成する際には、以下にリストされているサービス引数に加えて、実行時にRun Agentが使用する設定の引数を指定する必要があります。上記のRun Agentサービスの作成で説明したように、サービスはエージェントをCLIから実行するときと同じコマンドでRun Agentを起動します。CLIで実行するときと同じ実行引数をRun Agentサービスに指定できます。使用可能なRun Agent引数のリストについては、コマンドライン引数を参照してください。
コマンドの構文が間違っている場合、Run Agentコマンドはエラーを報告します。
Run Agentインストールサービス引数
Service Install Arguments | Description |
---|---|
--win-service install | 上記で説明したように、指定した任意のCLI引数でRun Agentを起動する新しいWindowsサービスを作成します。また、--win-service install 引数と共に--service-name および--service-desc オプションを渡すことで、サービスの名前と説明を指定することもできます。--service-name オプションを省略した場合、サービスはデフォルトの名前を使用します。(デフォルト: DAI Run Agent )サービスを作成したら、上記のWindowsサービスマネージャーに名前でリストされているのを見ることができます。 |
サービスの名前を、すでに他のサービスで使用されている名前で作成しようとすると、エラーメッセージ "指定されたサービスはすでに存在します" が表示されます。また、サービスの名前を指定せずに(--service-name
オプションを省略して)、デフォルトの名前である DAI Run Agent
という名前のサービスがすでに存在する場合も同様です。いずれの場合も、異なる名前を指定して再度インストールサービスコマンドを実行する必要があります。
Run Agentサービスのインストールコマンドの例
注意してください。以下の例に示すように、eggplantDAIRunAgent.exeへの修飾されたパスを引用符で指定する必要があります。
"C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe" --win-service install --service-name "DAI Agent Service 1" --service-desc "This is a test service"
上記の例では、説明が「これはテストサービ スです」となっている "DAI Agent Service 1" という名前のサービスが作成されます。
"C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe" --win-service install --ini-file [path to ini file]
上記の例では、DAIの.iniファイルを使用するようにサービスを指定しています。このRun Agentコマンドでは--service-name
オプションと名前を指定していないため、Run AgentはデフォルトのDAI Run Agent
名でサービスを作成します。--ini-file
オプションの詳細については、コマンドライン引数を参照してください。
"C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe" --win-service install --ini-file [full path to ini file] --drive-port 5421
上記の例では、指定された --ini-file
と --drive-port
を持つ "DAI Agent Service 1" という名前のサービスが作成されます。使用可能なオプションの詳細については、コマンドライン引数を参照してください。
Run Agentサービスの開始
Run Agentサービスを作成したら、次の方法で開始できます。
- サービスが実行されるマシンが再起動するたびに自動的に開始されます。これはこのサービスのデフォルトの起動タイプです。
- Windowsサービスマネージャーを使用して手動で開始します。
- Run Agentサービスの
--win-service stop
オプションを使用してCLIで停止します。複数のRun Agentサービスがある場合は、--service-name
オプションでサービス名を指定してください。
Run Agentをサービスとして実行し、同じマシンでDAI Serverもサービスとして実行する場合、Run Agentサービスの起動をDAI Serverが実行された後に遅延させて、Run Agentが接続できるようにする必要があります。これを実現するには、Run Agentサービスの設定でDAI Serverサービスを依存関係として構成します。サービスの依存関係についての詳細は、この記事を参照してください。この依存関係を設定するには、マシンに管理者権限が必要な場合があります。
サービスの開始オプション
Service Start Option | Description |
---|---|
--win-service start | Starts the service. If you have more than one Run Agent service, pass the --service-name option with the name of the service you want to start. |
Run Agentサービスの開始コマンドの例
以下の例に示されているように、eggplantDAIRunAgent.exeへの修飾されたパスを引用符で指定する必要があります。
"C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe" --win-service start --service-name "DAI Agent Service 1"
上記の例では、名前が "DAI Agent Service 1" のサービスを開始します。
"C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe" --win-service start
上記の例では、オプションを指定せずにサービスを開始します。
Run Agentサービスの停止
Run Agentサービスを停止する方法は2つあります。
- Windowsサービスマネージャーを使用します。
- Run Agentサービスの
--win-service stop
オプションを使用してCLIで停止します。複数のRun Agentサービスがある場合は、--service-name
オ プションでサービス名を指定してください。
Service Stop Option | Description |
---|---|
--win-service stop | Stops the service. If you have more than one Run Agent service, pass the --service-name argument with the name of the service you want to stop. |
停止サービスコマンドの例
以下の例に示されているように、eggplantDAIRunAgent.exeへの修飾されたパスを引用符で指定する必要があります。
"C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe" --win-service stop --service-name "DAI Agent Service 1"
上記の例では、名前 が "DAI Agent Service 1" のサービスを停止します。
Run Agentサービスの削除
Run Agentサービスを削除する方法は2つあります。
- Windowsサービスマネージャーを使用します。
- Run Agentサービスの
--win-service remove
オプションを使用してCLIで削除します。複数のRun Agentサービスがある場合は、--service-name
オプションでサービス名を指定してください。
Service Remove Option | Description |
---|---|
--win-service remove | サービスが削除されます。Windowsマシンはもうサービスを実行しません。また、Windowsサービスマネージャーのサービスリストからも削除されます。複数のRun Agentサービスがある場合は、削除したいサービスの名前を--service-name 引数で渡してください。 |
サービスの削除コマンドの例
以下の例に示されているように、eggplantDAIRunAgent.exeへの修飾されたパスを引用符で指定する必要があります。
"C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe" --win-service remove --service-name "DAI Agent Service 1"
上記の例では、"DAI Agent Service 1" という名前のサービスが削除され、それ以降Windowsマシンに登録されなくなり、Windowsサービスマネージャーのサービスリストからも削除されます。